home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1994 March / Internet Info CD-ROM (Walnut Creek) (March 1994).iso / inet / internet-drafts / draft-ietf-pip-host-operation-00.txt < prev    next >
Text File  |  1993-06-16  |  33KB  |  868 lines

  1.  
  2.  
  3.  
  4.  
  5. Network Working Group                                       Paul Francis
  6.                                                 (formerly Paul Tsuchiya)
  7. INTERNET-DRAFT                                                  Bellcore
  8.                                                                June 1993
  9.  
  10.  
  11.                            Pip Host Operation
  12.  
  13.  
  14. Status of this Memo
  15.  
  16.    This document is an Internet Draft.  Internet Drafts are working
  17.    documents of the Internet Engineering Task Force (IETF), its Areas,
  18.    and its Working Groups. Note that other groups may also distribute
  19.    working documents as Internet Drafts).
  20.  
  21.    Internet Drafts are draft documents valid for a maximum of six
  22.    months. Internet Drafts may be Updated, replaced, or obsoleted by
  23.    other documents at any time.  It is not appropriate to use Internet
  24.    Drafts as reference material or to cite them other than as a "working
  25.    draft" or "work in progress."
  26.  
  27.    Please check the I-D abstract listing contained in each Internet
  28.    Draft directory to learn the current status of this or any other
  29.    Internet Draft.
  30.  
  31.  
  32. Abstract
  33.  
  34.    Pip is an internet protocol intended as the replacement for IP
  35.    version 4.  Pip is a general purpose internet protocol, designed to
  36.    handle all forseeable internet protocol requirements.  This
  37.    specification is one of a number of documents that specify the
  38.    operation of Pip.  This specification describes the operation of Pip
  39.    hosts.  In particular, it describes how a Pip host picks among
  40.    multiple Pip Addresses, and how a Pip host responds to various PCMP
  41.    Packet Not Delivered (PDN) messages.
  42.  
  43.  
  44. Conventions
  45.  
  46.    All functions in the main body of this specification are mandatory.
  47.    The functions in the appendix are optional, but if they are not
  48.    implemented, some function that provides the information expected by
  49.    addressListCreate must be implemented..
  50.  
  51.  
  52.  
  53. Pip WG, Expires December, 1993                                  [Page 1]
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60. INTERNET-DRAFT             Pip Host Operation                   May 1993
  61.  
  62.  
  63. 1.  Overview
  64.  
  65.    This specification defines two host functions associated with the
  66.    task of choosing the appropriate source and destination addresses for
  67.    a given communications.  The first function, called
  68.    addressListCreate, creates an ordered list of source/destination Pip
  69.    address pairs given certain locally configured information and infor-
  70.    mation learned about the destination host from DNS or the destination
  71.    host's mobile host server.
  72.  
  73.    The second function, called addressListUse, chooses among the ordered
  74.    list based on information given to it by routers in response to
  75.    packet transmissions.
  76.  
  77.    The partitioning of address choosing into these two functions allows
  78.    for nice modularity in implementation.  For instance, addressListUse
  79.    could exist inside the kernel while addressListCreate could be out-
  80.    side the kernel, or in another machine altogether, for instance the
  81.    Pip Header Server.  It also allows evolution of the addressListCreate
  82.    function (for instance, in the Pip Header Server) while still allow-
  83.    ing hosts to respond to PCMP messages.
  84.  
  85.    This document specifies the addressListUse function in the main body,
  86.    but places the addressListCreate function in an appendix.  The reason
  87.    for this is because the addressListCreate function specified here is
  88.    fairly naive, and is considered to be experimental.  It is expected
  89.    that significant evolution of the addressListCreate function will
  90.    occur as the internet gains experience with commercialization and
  91.    real-time services.
  92.  
  93.  
  94.  
  95. 2.  addressListUse: Host Selection of Source and Destination Pip Address
  96. Pairs Among an Ordered List
  97.  
  98.    Assume that the following information has been obtained from the
  99.    function addressListCreate:
  100.  
  101.    1.   An ordered list of source and destination Pip address pairs to
  102.         potentially use for the communications.  Associated with each
  103.         Pip address pair is a marking of strong or weak preference.  All
  104.         of the strong preference addresses are preferred over the weak
  105.         preference addresses.  The same source or destination Pip
  106.         address may appear multiple times in the ordered list, but a
  107.         given source address/destination address pair may appear only
  108.  
  109.  
  110.  
  111. Pip WG, Expires December, 1993                                  [Page 2]
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118. INTERNET-DRAFT             Pip Host Operation                   May 1993
  119.  
  120.  
  121.         once.
  122.  
  123.    2.   Information about the destination from DNS, including the fol-
  124.         lowing:
  125.  
  126.    2a.  The Pip ID of the destination host.
  127.  
  128.    2b.  The names of any mobile host servers associated with the desti-
  129.         nation host.
  130.  
  131.    2c.  The exit PDN addresses, if any, associated with each of the des-
  132.         tination Pip addresses.
  133.  
  134.    2d.  The Time-to-Live of the DNS information.
  135.  
  136.    Given this list, the Pip layer chooses among the ordered list of
  137.    source Pip addresses (and destination Pip addresses) to use in the
  138.    transmitted Pip packets.  There are a number of criteria that are
  139.    considered when choosing.  The basic rule is that, in general, Pip
  140.    address pairs higher in the list are preferred over Pip address pairs
  141.    lower in the list.  Pip address pairs lower in the list can be used,
  142.    however, when Pip address pairs higher in the list cannot be
  143.    delivered or are overridden for one of several reasons.
  144.  
  145.    The following list of rules are used to choose the appropriate Pip
  146.    address pair.
  147.  
  148.    1.   If a Pip address pair has strong preference, a lower-preference
  149.         Pip address pair may be used only when the higher-preference Pip
  150.         address pair is unreachable.  Unreachability is indicated by
  151.         PCMP Packet Not Delivered messages.  All address pairs tagged as
  152.         unreachable are retagged as reachable after a period of time.
  153.  
  154.    2.   Host-driven exit routing is always used with a strong-preference
  155.         Pip address pair.
  156.  
  157.    3.   Transit-driven exit routing is always used with a weak-
  158.         preference Pip address pair.
  159.  
  160.    4.   Consider a Pip address pair received from the destination host
  161.         with an exit routing subfield bit set to 0 (host-driven).  If
  162.         the received Pip address pair matches a strong-preference entry
  163.         from the list, then this entry is used in preference to a higher
  164.         list entry.  If the received Pip address pair matches a weak-
  165.         preference entry from the list, then this entry is used in
  166.  
  167.  
  168.  
  169. Pip WG, Expires December, 1993                                  [Page 3]
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176. INTERNET-DRAFT             Pip Host Operation                   May 1993
  177.  
  178.  
  179.         preference to a higher weak-preference list entry, but is not
  180.         used in preference to a strong-preference list entry.
  181.  
  182.    5.   All weak-preference address pairs are tagged as either good-
  183.         route or bad-route.  A weak-preference address pair is tagged as
  184.         bad-route if a Border Redirect is received in response to a
  185.         packet sent with the address pair.  Otherwise, the address pair
  186.         is tagged as good-route.  All bad-route tags are changed to
  187.         good-route after some period of time.  An address pair tagged
  188.         good-route is always preferred over one tagged bad-route.
  189.  
  190.  
  191.  
  192. 2.1.  Formatting a Pip Header for Exit Routing
  193.  
  194.    If the source and destination share a metalevel=0 cluster, then the
  195.    format of the Active FTIF and RC depend on the type of exit routing
  196.    [2].  There are two types of exit routing, that is, routing inter-
  197.    domain Pip packets from a source host to a network service provider
  198.    of a private domain.  In the first method, called transit-driven exit
  199.    routing, the source host leaves the choice of provider to the
  200.    routers.  In the second method, called host-driven exit routing, the
  201.    source host explicitly chooses the provider.
  202.  
  203.    If host-driven exit routing is chosen, then the Active FTIF is set to
  204.    point at the top (last FTIF) of the source Pip Address.  The exit
  205.    routing type subfield of the RC is set to 0, to indicate host-driven
  206.    exit routing (and thus potentially "override" the routers' best path
  207.    to the destination).  The level and metalevel subfields of the RC are
  208.    set to 0.
  209.  
  210.    When using transit-driven exit routing, there are two modes of opera-
  211.    tion.  The first, called destination-oriented, is used when the
  212.    routers internal to a domain have external routing information.  The
  213.    second, called provider-oriented, is used when the routers internal
  214.    to a domain do not have any external routing information.  Hosts
  215.    learn whether intra-domain routing is destination-oriented or
  216.    provider-oriented as part of Pip Address auto-configuration.
  217.  
  218.    With provider-oriented (transit-driven) exit routing, the fields are
  219.    set the same as with host-driven exit routing, except that the exit
  220.    routing type subfield of the RC is set to 1.
  221.  
  222.    With destination-oriented (transit-driven) exit routing, if there are
  223.    multiple source providers, then the fields are set the same as with
  224.  
  225.  
  226.  
  227. Pip WG, Expires December, 1993                                  [Page 4]
  228.  
  229.  
  230.  
  231.  
  232.  
  233.  
  234. INTERNET-DRAFT             Pip Host Operation                   May 1993
  235.  
  236.  
  237.    provider-oriented exit routing.  If there is only one provider (and
  238.    therefore only one address prefix above the metalevel=0 boundary),
  239.    the Active FTIF is set to point at the first FTIF of the destination
  240.    Pip Address, the exit routing type subfield of the RF is set to 1,
  241.    and the level and metalevel subfields of the RC are set to 0.
  242.  
  243.  
  244.  
  245. 2.2.  Responding to PCMP Packet Not Delivered (PND) Messages
  246.  
  247.    In the course of transmitting packets to a destination, PCMP PND mes-
  248.    sages may be received [1].  The reception of PCMP PND messages may
  249.    result in 1) new source/destination address pairs being used, 2) the
  250.    packet being reformatted but with the same source/destination address
  251.    pair, 3) a new list of source/destination address pairs being gen-
  252.    erated, or 4) no more attempts at packet delivery.  This section
  253.    describes which actions are taken for the various types of PCMP PND
  254.    messages.
  255.  
  256.    The PCMP PND message types are shown in Table I.  The actions taken
  257.    as a result of a PCMP PND message fall into four broad categories:
  258.  
  259.    1.   Those where reformatting the packet, but keeping the same
  260.         source/destination address pair, may result in successful
  261.         delivery.  In these cases, none of the source/destination
  262.         address pairs need be marked as unreachable.  Instead, the
  263.         packet should be reformatted as appropriate according to the
  264.         PCMP PND message received.  PCMP PND types that may fall into
  265.         this category are codes 1, 2, 11, 12, 13, 14, 15, and 19.
  266.  
  267.    2.   Those where nothing, including modifying the source/destination
  268.         address pair, can result in successful delivery of the packet.
  269.         This is often the case where the destination host can be reached
  270.         using the given source/destination address pair, but refuses the
  271.         packet for some reason.  In this case, the application is simply
  272.         informed of the inability to communicate.  PCMP PND types that
  273.         may fall into this category are codes 1, 2, 3, 4, 5, 6, 9, 12,
  274.         13, 14, and 15.
  275.  
  276.    3.   Those where none of the source/destination address pairs is ade-
  277.         quate for successful packet delivery, but where new
  278.         source/destination address pairs may be obtained, either from
  279.         the mobile host server or from DNS.  PCMP PND types that may
  280.         fall into this category are codes 7, 8, 10, 16, 18, and 20.
  281.  
  282.  
  283.  
  284.  
  285. Pip WG, Expires December, 1993                                  [Page 5]
  286.  
  287.  
  288.  
  289.  
  290.  
  291.  
  292. INTERNET-DRAFT             Pip Host Operation                   May 1993
  293.  
  294.  
  295.  
  296.            Code   Meaning
  297.            ----   -------
  298.             1     Options Contents Unknown
  299.             2     Individual Option Unknown
  300.             3     Protocol (doesn't exist)
  301.             4     Protocol (administratively prohibited)
  302.             5     Port (doesn't exist)
  303.             6     Port (administratively prohibited)
  304.             7     Dest ID (known not to exist)
  305.             8     Dest ID (known to have moved)
  306.             9     Dest ID (administratively prohibited)
  307.             10    Dest ID (otherwise)
  308.             11    Hop Count Expired
  309.             12    HD Contents Unknown
  310.             13    Individual HD Parameter Unknown
  311.             14    RC Contents Unknown
  312.             15    Individual RC Parameter Unknown
  313.             16    FTIF (known not to exist)
  314.             17    FTIF (administratively prohibited)
  315.             18    FTIF (otherwise)
  316.             19    MTU Exceeded
  317.             20    Exit PDN Address Unreachable
  318.  
  319.              Table I: PCMP Packet Not Delivered Message Types
  320.  
  321.  
  322.    4.   Those where changing the source/destination address pair to
  323.         another one in the given list is adequate for successful
  324.         delivery of the packet.  PCMP PND types that may fall into this
  325.         category are codes 7, 10, 16, 17, 18, and 20.
  326.  
  327.    It is categories 3 and 4 that are of interest here because it is by
  328.    changing the source/destination pair to be used that packet delivery
  329.    might be achieved.
  330.  
  331.    When a PCMP PND message of type 10, 18, or 20 (particularly 18) is
  332.    received, a host may continue to use the same address pair for a
  333.    while, in the hope that the reason for non-delivery may be short-
  334.    lived.  In what follows, we assume that the reason for non-delivery
  335.    is not short-lived, and that the host takes action with regards to
  336.    the received PCMP PND message.
  337.  
  338.    The following list indicates how to respond to the above PCMP PND
  339.    types.
  340.  
  341.  
  342.  
  343. Pip WG, Expires December, 1993                                  [Page 6]
  344.  
  345.  
  346.  
  347.  
  348.  
  349.  
  350. INTERNET-DRAFT             Pip Host Operation                   May 1993
  351.  
  352.  
  353.    1.   Codes 7 and 16, Dest ID or FTIF known not to exist.  When either
  354.         of these messages are received, the source host re-queries DNS.
  355.         This happens regardless of the stated of the DNS Time-to-Live
  356.         information.  (That is, even if the Time-to-Live indicates that
  357.         the DNS information is still valid, DNS should be re-queried.)
  358.  
  359.         If the Time-to-Live indicates that the original DNS information
  360.         has expired, then a non-authoritative query is made.  If the
  361.         Time-to-Live indicates that the original DNS information has not
  362.         expired, then an authoritative query is made.  If the DNS infor-
  363.         mation returned from the non-authoritative query matches the
  364.         original DNS information, then an authoritative query is made.
  365.  
  366.         If the DNS information returned from the authoritative query
  367.         matches the original DNS information, and the PCMP message is
  368.         Code 7, then the destination host cannot be reached and the
  369.         application is informed as such.  If the PCMP message is Code
  370.         16, then all entries with the bad destination address are marked
  371.         unreachable, and other source/destination pairs are tried.
  372.  
  373.         It should be apparent that the purpose of Codes 7 and 16 are to
  374.         give an on-demand indication of when DNS information for a host
  375.         or a group of hosts has changed.  In the case of Code 7, an
  376.         individual host has obtained a new (permanent) set of Pip
  377.         addresses, resulting in new DNS entries for that host.  Code 7
  378.         is typically returned by the router attached to the subnet that
  379.         the destination host was formerly attached to, or by a host that
  380.         has the Pip address previously owned by the desired destination
  381.         host.  In the case of Code 16, the address prefix of a group of
  382.         hosts has been de-assigned.  This would be the case where a sub-
  383.         scriber network disconnected from a particular provider, thus
  384.         making the subscriber's prefix from that provider invalid.  The
  385.         provider may keep the prefix unassigned for a period of time
  386.         long enough to allow DNS entries to time out.  During this time,
  387.         the provider's routers can be configured to return PCMP PND mes-
  388.         sages with Code 16 for that particular prefix.
  389.  
  390.    2.   Code 8, Dest ID known to have moved.  This PCMP PND message is
  391.         delivered by a router attached to the subnet of the permanent
  392.         location of the destination when the destination has 1) moved to
  393.         a new location, and has 2) informed the router that it has
  394.         moved.  Note that it may inform the router before it moves.
  395.  
  396.         Upon reception of this PCMP PND message, the host queries the
  397.         mobile host server learned from DNS.  If there is no mobile host
  398.  
  399.  
  400.  
  401. Pip WG, Expires December, 1993                                  [Page 7]
  402.  
  403.  
  404.  
  405.  
  406.  
  407.  
  408. INTERNET-DRAFT             Pip Host Operation                   May 1993
  409.  
  410.  
  411.         server for the destination host, all source/destination pair
  412.         entries whose low-order metalevel part matches that of the
  413.         attempted destination address are marked as unreachable.  (The
  414.         low-order metalevel part is the sequence of FTIFs starting with
  415.         the low-order FTIF and including all FTIFs below the lowest
  416.         metalevel boundary.  Normally, all of a host's addresses will
  417.         have the same low-order metalevel part.  The exception to this
  418.         rule is when the host is attached to more than one subnet.)
  419.  
  420.         If all of the source/destination address pairs are marked
  421.         unreachable, then the destination host cannot be reached and the
  422.         application is informed as such.
  423.  
  424.    3.   Code 10, Dest ID, all circumstances other than Codes 7, 8, and
  425.         9.  This PCMP PND message is sent when the router attached to
  426.         the subnet indicated by the Pip address cannot reach the host,
  427.         and the reason is unknown.  In this case, the source host does
  428.         not know if the destination host has moved temporarily, has a
  429.         new permanent address, or has simply crashed, been powered down,
  430.         or has a bad interface.  (If the router has a bad interface,
  431.         then it will return a Code 18, indicating the lowest level FTIF,
  432.         that is, the subnet, as unreachable.)
  433.  
  434.         When this PCMP PND message is received, all source/destination
  435.         pair entries whose low-order metalevel part matches that of the
  436.         attempted destination address are marked as unreachable (same as
  437.         with item 2 above).
  438.  
  439.         If this results in all source/destination pair entries being
  440.         marked as unreachable, and the destination host has a mobile
  441.         host server, then the mobile host server is queried to determine
  442.         if the destination host has a new temporary address.  If the
  443.         destination host does not have a new temporary address, and the
  444.         DNS Time-to-Live for that host has expired, then DNS is
  445.         requeried (first with a non-authoritative query, followed by an
  446.         authoritative query if new information is not obtained).
  447.  
  448.         If none of the above actions results in new destination
  449.         addresses to try, then the destination host cannot be reached
  450.         and the application is informed as such.
  451.  
  452.    4.   Codes 17 and 18, FTIF, either administratively prohibited or
  453.         undeliverable for unknown reason.
  454.  
  455.         When one of these PCMP PND messages is received, any
  456.  
  457.  
  458.  
  459. Pip WG, Expires December, 1993                                  [Page 8]
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466. INTERNET-DRAFT             Pip Host Operation                   May 1993
  467.  
  468.  
  469.         source/destination address pair that contains the bad FTIF is
  470.         marked as unreachable.  In order to "contain" the bad FTIF, the
  471.         chain of FTIFs from the FTIF indicated by the PCMP PND message
  472.         up to the FTIF immediately below the next higher metalevel boun-
  473.         dary must match.
  474.  
  475.         If all source/destination address pairs are marked unreachable,
  476.         then the actions in item 3 above for the same circumstances are
  477.         taken.
  478.  
  479.    5.   Code 20, Exit PDN Address Unreachable.  This PCMP PND message is
  480.         sent when the entry router to a Public Data network cannot com-
  481.         municate with the exit router specified by the Exit PDN Address
  482.         option.  When this PCMP PND message is received, the Exit PDN
  483.         Address information associated with the provider is marked as
  484.         unreachable.  If all of the Exit PDN Addresses for a given pro-
  485.         vider are marked as unreachable, then then all
  486.         source/destination address pairs with a destination address
  487.         associated with the provider are marked as unreachable.
  488.  
  489.         If all source/destination address pairs are marked unreachable,
  490.         then the actions in item 3 above for the same circumstances are
  491.         taken.
  492.  
  493.         After a period of time, the Exit PDN Address information is
  494.         marked as reachable.  This may cause a previously unreachable
  495.         source/destination address pair to become reachable.
  496.  
  497.  
  498.  
  499. 3.  Forming Exit PDN Address Options
  500.  
  501.    To be filled in.
  502.  
  503.  
  504.    References
  505.    [1]  Francis, Govindan, "PCMP: Pip Control Message Protocol",
  506.         Internet-Draft
  507.    [2]  Francis, "Pip Address Conventions", Internet-Draft
  508.  
  509.  
  510.  
  511.  
  512.  
  513.  
  514.  
  515.  
  516.  
  517. Pip WG, Expires December, 1993                                  [Page 9]
  518.  
  519.  
  520.  
  521.  
  522.  
  523.  
  524. INTERNET-DRAFT             Pip Host Operation                   May 1993
  525.  
  526.  
  527. 4.  Appendix A: addressListCreate--Forming an Ordered List of Source and
  528. Destination Pip Address Pairs
  529.  
  530.    This appendix gives an experimental version of the addressListCreate
  531.    function.  It is expected that this function will evolve considerably
  532.    as experience with commercialization and real-time service is gained.
  533.  
  534.    The following information is used by function addressListCreate:
  535.  
  536.    1.   The Pip addresses of the source host (obtained from local confi-
  537.         guration).
  538.  
  539.    2.   The Pip addresses of the destination host (obtained from DNS and
  540.         the destination host's mobile host server).
  541.  
  542.    3.   The user classes that the traffic falls under (such as research,
  543.         corporate private).
  544.  
  545.    4.   The desired price/performance tradeoff--that is, one of 1) best
  546.         price, 2) best performance, and 3) best price/performance.
  547.  
  548.    5    The application type (for instance, telnet, ftp, vat, and so
  549.         on).
  550.  
  551.    6.   Information about the destination from DNS, including the fol-
  552.         lowing:
  553.  
  554.    6a.  The Pip ID of the destination host.
  555.  
  556.    6b.  The names of any mobile host servers associated with the desti-
  557.         nation host.
  558.  
  559.    6c.  The exit PDN addresses, if any, associated with each of the des-
  560.         tination Pip addresses.
  561.  
  562.    6d.  The Time-to-Live of the DNS information.
  563.  
  564.    7.   A provider preference given by the application (or user behind
  565.         the application).
  566.  
  567.    8.   Other optional information, such as topology information or
  568.         local policy and tariff information.  Such information is not
  569.         specified in this document.
  570.  
  571.    The following information is associated with the provider indicated
  572.  
  573.  
  574.  
  575. Pip WG, Expires December, 1993                                 [Page 10]
  576.  
  577.  
  578.  
  579.  
  580.  
  581.  
  582. INTERNET-DRAFT             Pip Host Operation                   May 1993
  583.  
  584.  
  585.    by the first FTIF of any Pip address (note that this is not neces-
  586.    sarily the top-level of the Pip address, as there may be a route
  587.    fragment associated with the Pip address [2]):
  588.  
  589.    1.   The provider name.
  590.  
  591.    2.   The service provider switching technology type (such as Pip,
  592.         X.25, Frame Relay, and so on).
  593.  
  594.    3.   The user communities that the provider services.
  595.  
  596.    Given the above information, function addressListCreate executes the
  597.    following steps (described in detail below).  First, it determines if
  598.    the source and destination are within the same cluster below
  599.    metalevel boundary 0.  If they are, then no provider decision need be
  600.    made, and the creation of the source/destination address pair list is
  601.    trivial.
  602.  
  603.    If the source and destination are not in the same metalevel cluster,
  604.    then a provider decision must be made.  This involves considering the
  605.    actual providers, the service they provide versus the service
  606.    required by the application, and any access restrictions on the part
  607.    of either user or provider.  This decision is entirely a local
  608.    matter, and it is expected that this process will become more
  609.    involved as experience is gained.  This document proposes a simple
  610.    but perhaps limited approach.
  611.  
  612.    First, the addresses associated with unacceptable providers (either
  613.    source or destination) are eliminated.  Note that a given provider
  614.    can have multiple addresses--representing different services pro-
  615.    vided.  The remaining addresses, are then paired into all possible
  616.    combinations.  The address pairs are then ordered according to such
  617.    criteria as commonality between source and destination, price, and
  618.    other provider preference criteria.
  619.  
  620. 4.1.  First Step: Determine if Destination is in a Metalevel>0 Cluster
  621.  
  622.    The purpose of this step is to determine if the destination is within
  623.    the private network (or possibly a portion of the private network,
  624.    for lower metalevel clusters), or on the same LAN.  If the destina-
  625.    tion is within a metalevel>0 cluster, then no decisions have to be
  626.    made about choice of address prefix--the higher order part of the
  627.    address is pruned, and the packet is transmitted without regard to
  628.    exit routing.
  629.  
  630.  
  631.  
  632.  
  633. Pip WG, Expires December, 1993                                 [Page 11]
  634.  
  635.  
  636.  
  637.  
  638.  
  639.  
  640. INTERNET-DRAFT             Pip Host Operation                   May 1993
  641.  
  642.  
  643.    To determine if the destination is on the same LAN, the host compares
  644.    each of its Pip Addresses with each of the destination's.  If any of
  645.    the Pip Addresses for the source completely match one of those for
  646.    the destination, then the destination is assumed to be on the same
  647.    LAN.
  648.  
  649.    If the destination is determined to be on the same LAN, then no FTIF
  650.    Chain is necessary.  The level and metalevel fields of the RC are set
  651.    to be that of the LAN.  The Active FTIF field is set to be 0.  The
  652.    Exit Routing Type bit of the RC is set to be 1.  The packet is
  653.    transmitted directly to the destination host (possibly after ARPing
  654.    first).
  655.  
  656.    If, based on this comparison, the destination is determined not to be
  657.    on the same LAN, the source's and destination's Pip addresses are
  658.    compared to see if they are in the same metalevel cluster.
  659.  
  660.    Two hosts are in the same metalevel cluster if any of the
  661.    destination's prefixes (the FTIFs from the top level to the FTIF
  662.    above the metalevel boundary) match any of the source's prefixes.
  663.    Two hosts are in the same metalevel=n cluster if this test holds true
  664.    for metalevel=n and not metalevel=n+1.  If the test holds true for
  665.    metalevel=n, then it must also hold true for all metalevels less than
  666.    n (where, again, n=0 is the highest metalevel).
  667.  
  668.    If the destination host is in the same metalevel>0 cluster, then it
  669.    does not need any of the address prefix above the metalevel boundary
  670.    in the Pip header.  There is no exit provider selection in this case,
  671.    so the exit routing type subfield of the RC is set to 1.  The Active
  672.    FTIF field is set to point at the highest FTIF of the destination
  673.    address, which must be at level=0 and metalevel=n, where n is the
  674.    metalevel cluster the source and destination have in common.
  675.  
  676.    The destination or source host may have multiple different low-order
  677.    metalevel parts.  If both source and destination have only one multi-
  678.    ple low-order metalevel part, then only one source/destination
  679.    address pair is generated.  If either destination or source have mul-
  680.    tiple low-order metalevel parts, then there will be multiple
  681.    source/destination address pairs in the list generated.  All entries
  682.    in the list should have the same preference type (weak or strong).
  683.    Since no exit routing takes place for internal traffic, the prefer-
  684.    ence type does not matter.
  685.  
  686.    The list should contain all possible combinations of
  687.    source/destination address pairs.  However, source/destination
  688.  
  689.  
  690.  
  691. Pip WG, Expires December, 1993                                 [Page 12]
  692.  
  693.  
  694.  
  695.  
  696.  
  697.  
  698. INTERNET-DRAFT             Pip Host Operation                   May 1993
  699.  
  700.  
  701.    address pairs with more common high order FTIFs should have prefer-
  702.    ence over those with fewer common high order FTIFs.  Among different
  703.    source/destination address pairs with the same number of common high
  704.    order FTIFs, the order of preference in the list is a local decision.
  705.    In general, a random selection will result in load balancing.
  706.  
  707.    The remaining steps are not necessary if the source and destination
  708.    share a metalevel>0 cluster.
  709.  
  710.  
  711.  
  712. 4.2.  Second Step: Eliminate Unusable Addresses by Access Restriction
  713.  
  714.    The next step is to eliminate any individual source or destination
  715.    addresses that do not meet requirements.  This can be either because
  716.    1) the user (or this particular application) is restricted from using
  717.    the provider, or 2) the user wishes not to use a certain provider.
  718.    In the future, the service provided by the provider will increasing
  719.    be used as an elimination criteria.
  720.  
  721.  
  722.  
  723. 4.3.  Third Step: Label Desirability of Source Address by Performance
  724.  
  725.    In this step, each source address is labeled according to its ability
  726.    to satisfy the service requirements of the application.  The avail-
  727.    able performance levels are satisfactory (S), adequate (A), and
  728.    inadequate (I).  The information used to determine the labeling is 1)
  729.    application type, 2) provider switching technology type, and 3) pro-
  730.    vider name.  It is a local matter how this labeling is determined.
  731.  
  732.  
  733.  
  734. 4.4.  Fourth Step: Label Desirability of Source Address by Price
  735.  
  736.    In this step, each source address is labeled according to its cost.
  737.    The available cost categories are expensive (E), cheap (C), and free
  738.    (F).  It may be possible to rank order the individual addresses
  739.    within each of these categories.  It is expected that the source
  740.    address will be the primary determining factor with respect to cost.
  741.  
  742.  
  743.  
  744.  
  745.  
  746.  
  747.  
  748.  
  749. Pip WG, Expires December, 1993                                 [Page 13]
  750.  
  751.  
  752.  
  753.  
  754.  
  755.  
  756. INTERNET-DRAFT             Pip Host Operation                   May 1993
  757.  
  758.  
  759. 4.5.  Fifth Step: Rank Order Source Addresses
  760.  
  761.    In this step, the source addresses are rank ordered according to
  762.    desired price/performance.  If price is preferred over performance,
  763.    then the ranking is FS, FA, FU, CS, CA, ES, CU, EA, and EU, where the
  764.    first letter indicates price, and the second letter indicates perfor-
  765.    mance.  If performance is preferred over price, then the ranking is
  766.    FS, CS, ES, FA, CA, FU, EA, CU, and EU.  If price and performance
  767.    should be balanced, then the ranking is FS, CS, FA, CA, ES, EA, FU,
  768.    CU, and EU.
  769.  
  770.  
  771.  
  772. 4.6.  Sixth Step: Match Destination Addresses with Source Addresses
  773.  
  774.    In this step, the source addresses ranked in the previous step are
  775.    associated with destination addresses, thus producing a set of
  776.    source/destination address pairs.  Each pair is labeled according to
  777.    the quality of match.
  778.  
  779.    A pair of addresses is considered a best match if the source and des-
  780.    tination share the same provider (according to the provider name).
  781.    Two addresses share the same provider is any of the providers in one
  782.    address match any of the providers in another address.  (An address
  783.    has multiple providers if there is a route fragment in the address
  784.    [2].)
  785.  
  786.    A pair of addresses is considered a good match if 1) it is not a best
  787.    match, and 2) all of the source and destination providers are of the
  788.    same switching technology type, or any of the source providers are of
  789.    type IP (any version).
  790.  
  791.    A pair of addresses is considered a bad match otherwise.
  792.  
  793.  
  794.  
  795. 4.7.  Seventh Step: Rank Order and Label Address Pairs
  796.  
  797.    Finally, the source/destination address pairs are rank ordered and
  798.    labeled according to strong and weak preference.  The ordering fol-
  799.    lows the following rules:
  800.  
  801.    1.   Pairs with best or good matching are ordered before pairs with
  802.         bad matching.
  803.  
  804.  
  805.  
  806.  
  807. Pip WG, Expires December, 1993                                 [Page 14]
  808.  
  809.  
  810.  
  811.  
  812.  
  813.  
  814. INTERNET-DRAFT             Pip Host Operation                   May 1993
  815.  
  816.  
  817.    2.   Otherwise, pairs with higher ranked source addresses are ordered
  818.         before pairs with lower ranked source addresses.
  819.  
  820.    3.   Otherwise, pairs with best matching are ordered before pairs
  821.         with good matching.
  822.  
  823.    Address pairs are given a strong preference marking if it is desired
  824.    that 1) the choice of source provider over-ride an alternative choice
  825.    found by the routers, or 2) the address pair be used even if the des-
  826.    tination host uses a different address pair in its packets.  Address
  827.    pairs are given a weak preference marking otherwise.
  828.  
  829.  
  830.  
  831.  
  832.  
  833.  
  834.  
  835.  
  836.  
  837.  
  838.  
  839.  
  840.  
  841.  
  842.  
  843.  
  844.  
  845.  
  846.  
  847.  
  848.  
  849.  
  850.  
  851.  
  852.  
  853.  
  854.  
  855.  
  856.  
  857.  
  858.  
  859.  
  860.  
  861.  
  862.  
  863.  
  864.  
  865. Pip WG, Expires December, 1993                                 [Page 15]
  866.  
  867.  
  868.